
package com.sausageking.shared;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

public class YearPassCodes implements Serializable {

  public int getYear() {
    return year;
  }

  public String getMerchant() {
    return merchant;
  }

  public String getTimeZoneId() {
    return timeZoneId;
  }

  public YearPassCodes setYear(int year) {
    this.year = year;
    return this;
  }

  public YearPassCodes setMerchant(String merchant) {
    this.merchant = merchant;
    return this;
  }

  public YearPassCodes setTimeZoneId(String timeZoneId) {
    this.timeZoneId = timeZoneId;
    return this;
  }

  public List<MonthPassCodes> getMonthPassCodes() {
    return monthPassCodes;
  }

  public YearPassCodes setMonthPassCodes(List<MonthPassCodes> monthPassCodes) {
    this.monthPassCodes = monthPassCodes;
    return this;
  }

  private static final long serialVersionUID = -1647673117568209368L;

  private int year;

  private String merchant;

  private String timeZoneId;

  private List<MonthPassCodes> monthPassCodes = new ArrayList<YearPassCodes.MonthPassCodes>();
  
  static public class MonthPassCodes implements Serializable {
    
    public int getMonthOfYear() {
      return monthOfYear;
    }
    
    public List<DayPassCode> getDayPassCodes() {
      return dayPassCodes;
    }
    
    public MonthPassCodes setMonthOfYear(int monthOfYear) {
      this.monthOfYear = monthOfYear;
      return this;
    }
    
    public void addDayPassCode(DayPassCode code) {
      this.dayPassCodes.add(code);
    }
    private static final long serialVersionUID = 1386515738233757810L;
    private int monthOfYear;
    private List<DayPassCode> dayPassCodes = new ArrayList<YearPassCodes.DayPassCode>();
    
  }

  static public class DayPassCode implements Serializable {

    public int getDayOfMonth() {
      return dayOfMonth;
    }

    public int getDayOfWeek() {
      return dayOfWeek;
    }

    public String getPassCode() {
      return passCode;
    }

    public DayPassCode setDayOfMonth(int dayOfMonth) {
      this.dayOfMonth = dayOfMonth;
      return this;
    }

    public DayPassCode setDayOfWeek(int dayOfWeek) {
      this.dayOfWeek = dayOfWeek;
      return this;
    }

    public DayPassCode setPassCode(String passCode) {
      this.passCode = passCode;
      return this;
    }

    public String getDate() {
      return date;
    }

    public DayPassCode setDate(String date) {
      this.date = date;
      return this;
    }

    private static final long serialVersionUID = -3905399949249793912L;

    private int dayOfMonth;

    private int dayOfWeek;

    private String passCode;
    
    private String date;

  }
}
